package com.micro.frog.acct.service;

import com.micro.frog.acct.entity.User;
import com.micro.frog.acct.dto.MenuDTO;
import com.micro.frog.acct.vo.MenuTreeVO;
import com.micro.frog.acct.vo.MenuVO;
import com.micro.frog.core.common.PageResult;

import java.util.List;

/**
 * @author :  ljh
 * @date : 2018/4/2
 **/
public interface MenuService {

    /**
     * 根据用户加载不同菜单
     * @param user
     * @return
     */
    List<MenuVO> userMenus(User user);
    /**
     * 根据查询所有菜单
     * @return
     */
    List<MenuVO> queryAll();

    /**
     * 所有菜单 带分页
     * @param queryVO
     * @return
     */
    PageResult list(MenuDTO queryVO);

    /**
     * 添加菜单
     * @param menuVO
     * @return
     */
    int addMenu(MenuVO menuVO);

    /**
     * 删除菜单
     * @param menuId
     * @return
     */
    int deleteMenu(Integer menuId);

    /**
     * 修改菜单
     * @param menuVO
     * @return
     */
    int updateMenu(MenuVO menuVO);


    List<MenuTreeVO> tree();
}
